Trick play behavior controlled by a user

ABSTRACT

A method and apparatus for providing user controlled implementation of trick play modes of operation of digital video data is disclosed. A user interface is provided on a video screen. The user is prompted to select a speed on the user interface at which the trick play mode will operate. The user is then prompted on the user interface to select how the selected speed is implemented. Alternatively, a list of possible implementations (predefined modes of operation) are displayed on the user interface from which the user can select the desired mode of operation.

FIELD OF THE INVENTION

The invention relates to trick play behavior of digital video data, andmore particularly to a method and apparatus for allowing the user tocontrol how the requested trick play mode is implemented.

BACKGROUND OF THE INVENTION

MPEG video employs three types of compressed pictures, i.e., intraframeencoded digital video data (I frames), forward predictive encoded data(P frames) and bi-directionally predictive encoded data (B frames). Iand P-frames are called anchor frames. An I-frame can be decoded byitself without resort to other data. A P-frame requires data from apreviously decompressed anchor frame to enable its decompression. AB-frame requires data from both preceding and succeeding anchor framesto allow its decompression.

MPEG compressed digital video is often stored on a video server or otherstorage systems like a DVD player, PVR box, a box containing a harddisk, etc., and is deliver on demand to a client. Many interactive videoservers support “trick play” modes, i.e., fast-forward-play andfast-reverse-play (rewind). While watching a video, the client mayrequest fast-forward play or fast rewind.

Several methods are used to allow interactive video servers to performfast-forward-play and fast-rewind-play. A bit stream of MPEG compresseddigital video data generally is divided into groups of pictures (GOPs),and each GOP begins with an I-frame. When digital video data is MPEGcompressed at a fixed rate, for example, when the frame pattern of theGOP is fixed, I-frames occur in the bit stream at known positions (aknown position is not needed in some examples) thereof and, thus, highspeed reproduction of the video data by reproducing only I-framestherein is possible since the general position of each I-frame is known.Alternatively, the digital video data can be compressed at a variablerate.

In order to keep the data rate constant during fast-forward play, videoservers use an ancillary data stream which is constructed as follows.The original stream can be used, but during fast forward/backward onlythe correct parts of the stream are selected. These selected parts ofthe stream are assembled in such a way that a correct MPEG streamresults. This MPEG stream can be decoded by an MPEG decoder builtaccording the MPEG standard. It will be understood by those skilled inthe art that in case the decoder is flexible and its behavior is knownthat a stream can be generated which has more features/flexibility. Therewind function is provided by assembling the stream in a different way.This stream is constructed in the same manner as the ancillary streamfor fast-forward play, except that every n'th picture of the originalvideo is picked in the reverse order, starting with the last frame. Thetrick play modes are similar to those in D-VHS.

In addition, the fast-forward play and fast-rewind play can beimplemented in various ways. For example, the length of time that eachI-frame is displayed can also be varied. By varying the speed and thetime each I-frame is displayed, many different visual presentations ofthe video data can be created. However, different users will preferdifferent visual presentations. Thus, there is a need for allowingindividual users the ability to control the implementation of the trickplay behavior so that the trick play implementation meets with theuser's preferences.

SUMMARY OF THE INVENTION

It is an object of the invention to improve user control over theimplementation of trick play by providing a method and apparatus forproviding user controlled implementation of trick play modes ofoperation of digital video streams.

An advantage of such a method and apparatus is that the user is able toimplement trick play according to his own liking.

According to one embodiment of the invention, a method and apparatus forproviding user controlled implementation of trick play modes ofoperation of digital video data is disclosed. A user interface isprovided on a video screen. The user is prompted to select a speed onthe user interface at which the trick play mode will operate. The useris then prompted on the user interface to select how the selected speedis implemented.

According to another embodiment of the invention, a list of possibleimplementations (predefined modes of operation) are displayed on theuser interface from which the user can select the desired mode ofoperation.

These and other aspects of the invention will be apparent from andelucidated with reference to the embodiments described hereafter.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described, by way of example, with referenceto the accompanying drawings, wherein:

FIG. 1 illustrates a block diagram of a audio-video apparatus suitableto host embodiments of the invention;

FIG. 2 illustrates a block diagram of a set-top box which can be used toimplement at least one embodiment of the invention;

FIG. 3 illustrates a flow chart illustrating a method for providing usercontrolled implementation of trick play modes according to oneembodiment of the invention;

FIG. 4 illustrates a user interface coupled to an embodiment of theinvention; and

FIG. 5 illustrates a further user interface coupled to a furtherembodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates an audio-video apparatus suitable to host theinvention. The apparatus comprises an input terminal 1 for receiving adigital video signal to be recorded on a disc 3. Further, the apparatuscomprises an output terminal 2 for supplying a digital video signalreproduced from the disc 3. These terminals may in use be connected viaa digital interface to a digital television receiver and decoder 12 inthe form of a set-top box (STB), which also receives broadcast signalsfrom satellite, cable or the like, in MPEG TS format. The decoder 12provides display signals to a display device 14, which may be aconventional television set.

The video recording apparatus as shown in FIG. 1 is composed of twomajor system parts, namely the disc subsystem 6 and the video recordersubsystem 8, controlling both recording and playback. The two subsystemshave a number of features, as will be readily understood, including thatthe disc subsystem can be addressed transparently in terms of logicaladdresses (LA) and can guarantee a maximum sustainable bit-rate forreading and/or writing data from/to the disc.

Suitable hardware arrangements for implementing such an apparatus areknown to one skilled in the art, with one example illustrated in patentapplication WO-A-00/00981. The apparatus generally comprises signalprocessing units, a read/write unit including a read/write headconfigured for reading from/writing to disc 3. Actuators position thehead in a radial direction across the disc, while a motor rotates thedisc, A microprocessor is present for controlling all the circuits in aknown manner.

Referring to FIG. 2, a block diagram of a set-top box 12 is shown. Itwill be understood by those skilled in the art that the invention is notlimited to a set top box but also extends to a variety of devices suchas a DVD player, PVR box, a box containing a Hard disk (recordermodule), etc. A broadcast signal is received and fed into a tuner 31.The tuner 31 selects the channel on which the broadcastaudio-video-interactive signal is transmitted and passes the signal to aprocessing unit 32. The processing unit 32 demultiplexes the packetsfrom the broadcast signal if necessary and reconstructs the televisionprograms and/or interactive applications embodied in the signal. Theprograms and applications are then decompressed by a decompression unit33. The audio and video information associated with the televisionprograms embodied in the signal is then conveyed to a display unit 34,which may perform further processing and conversion of the informationinto a suitable television format, such as NTSC or HDTV audio/video.Applications reconstructed from the broadcast signal are routed torandom access memory (RAM) 37 and are executed by a control system 35.

The control system 35 may include a microprocessor, micro-controller,digital signal processor (DSP), or some other type of softwareinstruction processing device. The RAM 37 may include memory units whichare static (e.g. SRAM), dynamic (e.g. DRAM), volatile or non-volatile(e.g., FLASH), as required to support the functions of the set-top box.When power is applied to the set-top box, the control system 35 executesoperating system code which is stored in ROM 36. The operating systemcode executes continuously while the set-top box is powered in the samemanner as the operating system code of a typical personal computer andenables the set-top box to act on control information and executeinteractive and other applications. The set-top box also includes amodem 38. The modem 38 provides both a return path by which viewer datacan be transmitted to the broadcast station and an alternate path bywhich the broadcast station can transmit data to the set-top box.

Although the term “set-top box” is used herein, it will be understoodthat this term refers to any receiver or processing unit for receivingand processing a transmitted signal and conveying the processed signalto a television or other monitor. The set-top box may be in a housingwhich physically sits on top of a television, it may be in some otherlocation from the television, or it may be incorporated into thetelevision itself.

As noted above, a viewer can use trick play modes of operation whenviewing recorded programs. According to one embodiment of the invention,the user can use a user interface on the display screen of thetelevision to select the speed at which the trick play mode is performedand how the trick play mode is implemented. The user interface is storedin either the ROM 36 or the RAM 37 and presented on the display deviceby means of the control system 35 and the display unit 34. In thisillustrative example, consider a GOP with a size of 12, and the GOP iscomprised of I, B, and P frames configured as IBBPBBPBBPBBI. For anyselected speed, there are many different ways of implementing theselected trick play mode. At one extreme, each I-frame in the video datastream can be displayed for a very short period of time creating a veryfast repetition of I-frames on the display. At the other extreme, aplurality of subsequent I-frames can be skipped after an I-frame isdisplayed and the displayed I-frame can be shown or repeated for anextended period of time creating a slide show presentation of thedisplayed I-frames. For example, each I-frame can be shown for 40 ms (or33 ms in NTSC). The user can also select implementations between the twoextremes by selecting different values for how many I-frames to skip (0,1, 2, 3, . . . ) and how long each displayed I-frame is displayed orrepeated.

For example, the user can select 6× forward speed and the fast forwardcan be implemented as follows:I₀, I₀, I₀, I₀, I₂, I₂, I₂, I₂, I₄, I₄, I₄, I₄, I₆, I₆, I₆, I₆, . . . orI₀, I₀, I₁, I₁, I₂, I₂, I₃, I₃, I₄, I₄, I₅, I₅, I₆, I₆, I₇, I₇, . . .where the subscript indicates the i-th I-frame in the original sequenceof video data In both cases, no P or B-frames are shown. In the firstcase, every other I-frame is skipped and each displayed I-frame isdisplayed four times which creates more of the slide show presentation.In the second case, every I-frame is shown twice which creates a fastrepetition of I-frames. It will be understood that B or P frames ormodified B or P frames can be inserted into the modified video stream togenerate more fluent motion, or to eliminate certain interlaceartifacts.

The user interface can have different practical embodiments. Forexample, the user interface can list a number of differentimplementation scenarios to choose from. Alternatively, the userinterface can allow the user to select how many I-frames are skipped andhow long the displayed I-frames should be displayed.

An illustrative embodiment of the invention will now be described withreference to FIG. 3 which is a flow chart illustrating a method forproviding user controlled implementation of trick play modes ofoperation. When a user selects a trick play mode, the control system 35generates a user interface 400 (FIG. 4) on the display device 14 in step302. The user can interact with the user interface in a variety of knownways, for example, by a remote control device, a keyboard, etc. The userinterface 400 allows the user to select a speed for the trick play modein step 304. The user interface can prompt the user to enter a speed 402or provide a list of possible speeds to choose from. The user can thenselect a time period 404 how long an I-frame will be displayed duringthe trick play mode in step 306.

The user interface 400 prompts the user to enter a time or provide alist of times to choose from. It will be understood that a singleI-frame can be displayed for the entire selected time or a series of thesame I-frame can be repeatedly shown for the selected period of time.

In a further embodiment, the user can select how many successiveI-frames will be skipped after an I-frame is displayed in step 308. Theuser interface can prompt the user to enter the number of frames to skipor provide a list of possible choices to choose from. The control system35 takes the selections and then creates a video stream for display in aknown manner based on the selected criteria in step 310.

In a further embodiment of the method according to the invention, a useris provided a slider 502 by a further user interface 500. In this way, auser may choose various options between showing an I-frame for thealready mentioned 40 ms (shortest possible time to show a frame) andshowing only one I-frame. For an inexperienced user with no technicalbackground, this is an intuitive way of applying an embodiment of themethod according to the invention. The product of speed [frames persecond] (all frames, also the non-displayed ones)* duration of a displayof a displayed frame may be stored as a default for further trick playactions.

In addition, the control system 35 can review the criteria selected bythe user to determine if the selected values can be used to successfullycreate a video stream. If there is a problem with implementing theselected values, the control system 35 can prompt the user on the userinterface to select different values. In the alternative, the controlsystem 35 can display a list of possible values for the user to choosefrom. In addition, the selected values can be stored for later recall.According to another embodiment of the invention, the user can alsoselect how many P and/or B-frames or modified P and/or B frames can beinserted into the video stream so as to reduce or eliminate certainartifacts, for example, which can occur from interlacing.

It will be understood that the different embodiments of the inventionare not limited to the exact order of the above-described steps as thetiming of some steps can be interchanged without affecting the overalloperation of the invention. Furthermore, the term “comprising” does notexclude other elements or steps, the terms “a” and “an” do not exclude aplurality and a single processor or other unit may fulfil the functionsof several of the units or circuits recited in the claims.

The invention may be summarised as follows: A method and apparatus forproviding user controlled implementation of trick play modes ofoperation of digital video data is disclosed. A user interface isprovided on a video screen. The user is prompted to select a speed onthe user interface at which the trick play mode will operate. The useris then prompted on the user interface to select how the selected speedis implemented. Alternatively, a list of possible implementations(predefined modes of operation) are displayed on the user interface fromwhich the user can select the desired mode of operation.

1. A method for providing user controlled implementation of trick play modes of operation of digital video data, comprising the steps of: a) providing (302) a user interface (400) on a display device (14); b) prompting the user to select a speed (402) on the user interface at which the trick play mode will operate; c) prompting the user on the user interface to select how the selected speed is implemented.
 2. The method according to claim 1, wherein the trick play mode is a fast forward operation.
 3. The method according to claim 1, wherein the trick play mode is a fast rewind operation.
 4. The method according to claim 1, wherein the step of selecting how the selected speed is implemented comprises the steps of: a) selecting (306) how many successive I-frames are skipped after a displayed I-frame; and b) selecting (306) how long each displayed I-frame is displayed.
 5. The method according to claim 1, wherein the step of selecting how the selected speed is implemented comprises the step of selecting: a) a time period (404) how long a frame is displayed; and b) a speed (402) at which the digital video data is displayed; c) and the method further comprises the step of computing how many frames are skipped after displaying one.
 6. The method according to claim 1, further comprising the step of storing the selected implementation for later recall.
 7. The method according to claim 1 wherein the digital video data is compressed according to the MPEG standard, further comprising the step of prompting the user on the user interface to select how many B and P-frames are inserted during the trick play mode.
 8. The method according to claim 1, wherein the step of selecting how the selected speed is implemented comprises the steps of: a) selecting how long each I-frame is displayed; and b) selecting how many times each I-frame is displayed.
 9. The method according to claim 1, further comprising the step of creating a video stream for display based on the selected criteria.
 10. The method according to claim 1, wherein a list of possible implementations are displayed on the user interface for the user to select from.
 11. An apparatus (102) for providing user controlled implementation of trick play modes of operation of digital video data, comprising: Means (34, 35) for providing a user interface on a video screen; means for prompting the user to select a speed on the user interface at which the trick play mode will operate; means for prompting the user on the user interface to select how the selected speed is implemented; and user input means for receiving a user input. 